﻿
/*
 * Javasript based on Functions(JBF) 1.03
 * 
 * Copyright(c) 2010, Fooxee (JA86.CN)
 *
 * JBF is licensed under the terms of the Open Source GPL 3.0(http://www.gnu.org/licenses/gpl.html) license. 
 * 
 * JBF's blog: http://www.cnblogs.com/JBF/
 * 
 * Created by Fooxee. at 2010.03.08  mailTo:hjccjun@163.com
 */

JBF.Bwr=JBF.bwr=JBF.Browser=JBF.browser={

	//浏览器相关
	isOpera : JBF.isOpera,
	isWebKit : JBF.isWebKit,
	isChrome : JBF.isChrome,
	isSafari : JBF.isSafari,
	isSafari2 : JBF.isSafari2,
	isSafari3 : JBF.isSafari3,
	isSafari4 : JBF.isSafari4,
	isIE : JBF.isIE,
	isIE6 : JBF.isIE6,
	isIE7 : JBF.isIE7,
	isIE8 : JBF.isIE8,
	isGecko : JBF.isGecko,
	isGecko2 : JBF.isGecko2,
	isGecko3 : JBF.isGecko3,
	isFF : JBF.isFF,
	isFF2 : JBF.isFF2,
	isFF3 : JBF.isFF3,
	isBorderBox : JBF.isBorderBox,
	isLinux : JBF.isLinux,
	isWindows : JBF.isWindows,
	isMac : JBF.isMac,
	isAir : JBF.isAir,
	
	screen : window.screen,
	
	//取得浏览器类型
	getType:function()
	{
		if(JBF.isSafari)
		{
			return 'safari';
		}
		else if(JBF.isOpera)
		{
			return 'opera';
		}
		else if(JBF.isIE)
		{
			return 'msie';
		}
		/*if(JBF.isMaxthon)
		{
			return 'maxthon';	
		}*/
		else if(JBF.isFF)
		{
			return 'firefox';
		}
		else if(JBF.isGecko)
		{
			return 'gecko';
		}
		else
		{
			return 'unknown';
		}
	},
	//取得浏览器版本号
	getVersion:function()
	{
		var ua = navigator.userAgent.toLowerCase();
		if(JBF.isFF)
		{
			return (ua.match( /.+(?:firefox)[\/ ]([\d.]+)/ ) || [])[1];
		}
		/*else if(JBF.isIE)
		{
			return window.external.max_version;//.substr(0,1);
		}*/
		return (ua.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1];
	},
	//取得浏览器语言
	getLang:function()
	{
		var lang = navigator.language || navigator.userLanguage;
		lang = JBF.isEmpty(lang) ? 'unknown' : lang;
		return lang.toLowerCase();
	},
	//取得浏览器flash版本(取得整数)
	getSwfVer:function()
	{
		var f="",n=navigator;
		if (n.plugins && n.plugins.length)
		{
			for (var ii=0;ii<n.plugins.length;ii++)
			{
				if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1)
				{
					f=n.plugins[ii].description.split('Shockwave Flash ')[1];
					break;
				}
			}
		}
		else if (window.ActiveXObject)
		{
			for (var ii=10;ii>=2;ii--)
			{
				try
				{
					var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");
					if (fl)
					{
						f=ii + '.0';
						break;
					}
				}
				catch(e){}
				}
		}
		return parseInt(f);
	},
	//取得silverlight版本
	getSlVer : function()
	{
		return parseInt('NaN');
	}
};
